---战斗BUFF ，战斗中效果实现
---@class FighterBuff
FighterBuff = ClientFight.CreateClass("FighterBuff")
function FighterBuff:ctor()
    ---唯一编号
    self.id = 0;
    ---buff模型id
    self.modelId = 0;
    ---叠加层数
    self.overlay = 0;
    ---值加成
    ---@type SBaseAttribute
    self.attributes = BaseAttribute.New();
    ---状态
    ---@type BaseState
    self.state = BaseState.New();
    ---标记
    ---@type BaseSign
    self.sign = BaseSign.New();

    ---池
    ---@type BasePool
    self.pool = BasePool.New();

    ---添加buff时参数
    self.addParameters = {};
    ---效果叠加时的参数
    self.overlaypParameters = {};
    ---开始时间
    self.startFrame = 0;
    ---上一次作用帧数
    self.actionFrame = 0;
    ---持续时间（毫秒）
    self.continuedTime = 0;
    --- 所属技能
    ---@type FightUsingSkill
    self.skill = nil;
    ---来源
    ---@type Fighter
    self.source = nil;
    ---目标
    ---@type Fighter
    self.target = nil;
    ---是否永久
    self.permanent = false;
    ---触发次数
    self.triggerTimes = 0;
    ---进入触发次数 无关触发成功与否
    self.inTriggerTimes = 0;
    ---触发帧数
    self.triggerFrame = 0;
    ---buff影响过的fighters  value:fightId
    ---@type table<number,boolean>
    self.effected = {};
    ---@type T_buffBean
    self.buffBean = nil;
    ---@type table<string, any>
    self.conditionParameters = {};
    ---@type table<string, any>
    self.effectParams = {};

    self.removeEffect = false;
end
